1
Oltre il matching semplice
AI034Lesson 18
00:00

In Rust, il matching dei modelli non è solo un ramo del flusso di controllo—è la vera architettura dell'associazione. Ogni volta che dichiari una variabile o definisci una funzione, stai effettuando un matching di modelli.

1. L'identità dell'associazione

Quando scriviamo let x = 5;, non stiamo solo assegnando un valore. Stiamo confrontando il valore 5 con il modello irrefutabilex. Poiché x è un nome che può rappresentare qualsiasi valore, il confronto ha sempre successo e crea un legame locale.

2. Parametri con modelli (Lista 18-6)

Forse la scoperta più profonda è che le firme delle funzioni sono modelli. Nella firma fn foo(x: i32), il codice si aspetta un i32 e utilizza il modello x per associare l'argomento in ingresso. Ciò significa che ogni entrata in una funzione è essenzialmente un evento di confronto con un solo braccio.

let x = 5;Associazione localefn foo(x: i32)Parametro funzioneLOGICA IDENTICAModello: associa l'argomento a 'x'

3. Universalità dei modelli

I modelli vanno oltre match. Appaiono in for cicli (destrutturazione di tuple), while let condizioni e persino if let espressioni. Questo Associazione locale principio garantisce che il codice Rust sia sempre espressivo, sia che tu stia estratte dati da una struttura o iterare su una mappa hash.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>